<template>
  <div class="login-container">
    <div class="logo" />
    <div class="form">
      <h1>登录</h1>

      <el-card shadow="never" class="login-card">
        <!--登录表单-->
        <el-form ref="form" :rules="rules" :model="form">

          <el-form-item prop="mobile">
            <el-input v-model="form.mobile" placeholder="请输入手机号" />
          </el-form-item>

          <el-form-item prop="password">
            <el-input v-model="form.password" placeholder="请输入密码" />
          </el-form-item>

          <el-form-item prop="isAgree">
            <el-checkbox v-model="form.isAgree">用户平台使用协议</el-checkbox>
            <el-checkbox v-model="remberPassword">记住密码</el-checkbox>
          </el-form-item>

          <el-form-item>
            <el-button style="width:350px" type="primary">登录</el-button>
          </el-form-item>

        </el-form>
      </el-card>

    </div>
  </div>
</template>

<script>

export default {
  name: 'Login',
  data() {
    return {
      remberPassword: false,
      form: {
        mobile: '',
        password: '',
        isAgree: false
      },
      rules: {
        mobile: [
          { required: true, message: '请输入手机号', trigger: 'blur' },
          { pattern: /^1[3-9]\d{9}$/, message: '手机号格式不正确', trigger: 'blur' }
        ],
        password: [
          { required: true, message: '请输入密码', trigger: 'blur' },
          { min: 6, max: 16, message: '密码长度在 6 到 16 个字符', trigger: 'blur' }
        ],
        isAgree: [
          { validator: (rule, value, callback) => {
            if (!value) {
              callback(new Error('请勾选用户平台使用协议'))
            } else {
              callback()
            }
          } }
        ]
      }
    }
  },
  methods: {
    login() {
      // 验证表单是否有效
      this.$refs.form.validate((valid) => {
        if (valid) {
          // 登录逻辑，例如发送登录请求到服务器
          // 这里假设登录请求成功，实际应用中需要根据接口返回情况判断
          const success = true
          if (success) {
            if (this.rememberPassword) {
              // 将手机号和密码存储到localStorage
              localStorage.setItem('mobile', this.form.mobile)
              localStorage.setItem('password', this.form.password)
            } else {
              // 清除localStorage中存储的手机号和密码
              localStorage.removeItem('mobile')
              localStorage.removeItem('password')
            }
            // 登录成功后的其他操作，如跳转到首页等
          } else {
            // 登录失败的处理
          }
        } else {
          // 表单验证失败的处理
        }
      })
    },
    updatePassword(newPassword) {
    // 假设密码更新请求成功，实际应用中需要根据接口返回情况判断
      const success = true
      if (success) {
        if (this.rememberPassword) {
          // 更新localStorage中的密码
          localStorage.setItem('password', newPassword)
        }
        // 密码更新成功后的其他操作
      } else {
        // 密码更新失败的处理
      }
    },
    logout() {
    // 假设注销请求成功，实际应用中需要根据接口返回情况判断
      const success = true
      if (success) {
        // 清除localStorage中存储的手机号和密码
        localStorage.removeItem('mobile')
        localStorage.removeItem('password')
        // 注销成功后的其他操作，如跳转到登录页等
      } else {
        // 注销失败的处理
      }
    }
  }

}
</script>

<style lang="scss" scoped>
.login-container {
  display: flex;
  height: 100vh;
  align-items: stretch;
  .logo {
      flex: 3;
      background: rgba(38, 72, 176) url(../../assets/common/login_back.png)
        no-repeat center / cover;
      border-top-right-radius: 60px;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center;
      padding: 0 100px;
      .icon {
        background: url(../../assets/common/logo.png) no-repeat 70px center /
          contain;
        width: 300px;
        height: 50px;
        margin-bottom: 50px;
      }
      p {
        color: #fff;
        font-size: 18px;
        margin-top: 20px;
        width: 300px;
        text-align: center;
      }
    }
    .form {
      flex: 2;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-left: 176px;
      .el-card {
        border: none;
        padding: 0;
      }
      h1 {
        padding-left: 20px;
        font-size: 24px;
      }
     ::v-deep .el-input {
        width: 350px;
        height: 44px;
        .el-input__inner {
          background: #f4f5fb;
        }
      }
      ::v-deep .el-checkbox {
        color:#606266;
      }
    }
}
</style>

